nfandomcom-20200216-history
NReality Modifications
Mods for NReality take the form of a string added to the end of the standard map data. When the map is loaded, the string disappears and the modifications are applied. The string is formatted like this: |bgImage|fgImage|NRealityMapType|objectMod|playerMod Player 03 has created a list of applications for NReality mods which can be found here. bgImage, fgImage Each of these slots will accept a link to an online image. The first image will be displayed in the background, and the second will be displayed in front of everything in the level. The foreground image can also be made into a color filter, as described here. To do this, add ?# to the end of the image URL, where #''' is a number between 1 and 14. NRealityMapType Any text in this slot will appear as a map's category when the map is displayed in the userlevels menu. objectMod This slot allows modifications to any type of object, though modifications to the ninja should be done in the playerMod slot. Modifications are applied to every object of the selected type, not to individual objects. The modifications are formatted like this: '''objectNumber,property,modification;, and any number of them can be strung together. objectNumber indicates the type of object and must be a number between 0 and 15. property indicates the property of the object to be modified. modification indicates the new value of the property, and it must be a number. The objects indicated by each number are these: 0: zap drone, seeker drone 1: laser drone, rotating laser drone 2: chaingun drone 3: gold 4: bounceblock 5: launchpad 6: gauss turret 7: floorguard 8: ninja 9: drone (note: may conflict with modifications made to 0, 1, and 2) 10: oneway platform 11: thwump 12: door 13: rocket launcher 14: exit 15: mine Here are the parameters that can be set for each type of object: (Note: not all parameters have an effect on gameplay.) zap drone, seeker drone (0) r''' default = 9 '''speed laser drone (1) r''' default = 9 '''speed laserPrefireDelay default = 30; determines the amount of time the drone will spend charging laserPostfireDelay default = 40; determines how long the drone will pause after firing laserRate default = 80; determines how long the drone will fire laserLen default = 7; usage unknown Modifications for the rotating laser drone: startingAngle default = 0; controls the angle at which it starts rotateSpeed default = 0.5; controls the speed and direction of rotation fixedLaserLength no default value; if set, the laser will always be a fixed number of pixels long and can go through walls chaingun drone (2) r''' default = 9 '''speed chaingunPrefireDelay default = 35; determines the amount of time the drone will spend charging chaingunPostfireDelay default = 60; determines how long the drone will pause after firing chaingunMaxNum default = 8; usage unknown chaingunRate default = 6; usage unknown chaingunSpread default = 0.3; usage unknown gold (3) r''' default = 6 bounceblock (4) '''stiff default = 0.05; controls the speed at which the block bounces back- very high or very low values may prevent it from doing so mass default = 0.2; controls the amount of force the block applies against the ninja- negative values make it propel the ninja forward sleepThreshold default = 40; determines how close the block has to come to its start position before it stops moving- low values make it stop sooner sleepTimer default = 0; usage unknown launchpad (5) r''' default = 6 '''strength default = 5.1428568; controls launchpad strength gauss turret (6) closeAimSpeed default = 0.05; determines how fast the crosshairs move when close to the ninja midAimSpeed default = 0.035; determines how fast the crosshairs move when a medium distance away from the ninja farAimSpeed default = 0.03; determines how fast the crosshairs move when far away from the ninja aimSpeed default = 0.03; usage unknown outerThreshold default = 9216; determines how far away from the ninja is considered "far" away midThreshold default = 1764; determines what is considered to be "mid" distance from the ninja innerThreshold default = 576; determines how close the crosshairs must be to the ninja to be considered "close" shotRate default = 60; controls the minimum time between shots shotTimer default = 0; usage unknown fireDelayTimer default = 0; usage unknown prefireDelay default = 10; controls the turret's warm-up time postfireDelay default = 10; controls the turret's cooldown time floorguard (7) r''' default = 6 '''speed default = 51.428568 thwump (11) (some apparently useless settings omitted) xw yw fallspeed raisespeed speed door (12) doorsize r''' '''maxtimer rocket launcher (13) speed maxspeed startaccel curaccel accelrate turnrate isHoming prefireDelay fireDelayTimer exit (14) r''' mine (15) '''r Additional properties There are also some properties relating to an object's display that can be applied to anything. Note that these will not affect gameplay, though. _xscale controls an object's width. The input is a number of pixels, so setting this to 20 would make the object appear to be 20 pixels wide. _yscale is the same as _xscale, except it applies to height. _alpha controls an objects transparency, and can be anything from 0 to 100. _color controls an object's color, and can modify red, green, and blue values for the object. It can be set to a value in the format red%.redMod.green%.greenMod.blue%.blueMod.transparent%.transparentMod. The "%" values multiply that channel by the given percent (e.g., if blue% was 50, the object's blue hues would be half as intense). The "Mod" values add the given amount to that channel. playerMod The syntax for this slot is much like the syntax for the objectMod slot, except without the identifier number: property,modification;. Again, any number of these can be strung together. Here is a list of all modifiable properties: r''' '''maxspeedAir maxspeedGround groundAccel airAccel normGrav jumpGrav normDrag winDrag wallFriction skidFriction standFriction g''' '''d jumpAmt jump_y_bias max_jump_time terminal_vel Rotating Laser Drone A rotating laser drone cannot be created through the standard method of modding. Instead, it must be made by modifying a laser drone's code. The standard code for a laser drone is 6^x,y,path,0,1,direction. To create a rotating laser drone, replace the fourth attribute with 1. This will not interfere with the code for standard laser drones, as that property was only used for zap/seeker drones. See the objectMod section for information about modifications for the rotating laser drone.